﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Drawing;
using System.Data;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using Ucb.Workshop.Business;
using Ucb.Workshop.Business.Util;


namespace Ucb.Workshop.WinApp.View.GestionCredito
{
    public partial class ControlRegistroCredito : UserControl
    {
        Compras compra;
        float pagar = 0;

        public Compras Compra
        {
            get { return compra; }
            set { 
                compra = value;
                if (compra != null)
                {
                    txtTotalCompra.Text = compra.Total.ToString();
                    txtTotalPagado.Text = compra.Deuda.ToString();
                }
            }
        }

        public ControlRegistroCredito()
        {
            InitializeComponent();
            buscadorCompra1.setOpc(1);
            buscadorCompra1.setCredito(this);
        }

        private void button1_Click(object sender, EventArgs e)
        {
            if (compra != null)
            {
                if (UtilControl.ValidarTextBox(txtPagar))
                {
                    pagar = float.Parse(txtPagar.Text.Trim());
                    if (pagar > this.Compra.Deuda)
                        MessageBox.Show("El monto a pagar no puede ser mayor a la deuda");
                    else
                    {
                        Credito credito = new Credito();
                        credito.CodCompra = this.Compra.CodCompra;
                        credito.Fecha = DateTime.Now;
                        credito.Monto = pagar;
                        credito.Insertar();
                        // actualizamos la deuda del credito
                        this.Compra.RegistrarDeuda(pagar);
                        this.Compra.VerificarDeuda();

                        limpiarFormulario();
                        buscadorCompra1.llenarGridCompraDeuda("");

                        MessageBox.Show("Credito registrado!!!");
                    }
                }
                else
                {
                    MessageBox.Show("Debe ingresar un monto");
                }
            }
            else
            {
                MessageBox.Show("Debe seleccionar una compra");
            }
        }

        private void txtPagar_TextChanged(object sender, EventArgs e)
        {
            UtilControl.EsDecimal(txtPagar);
        }

        public void limpiarFormulario()
        {
            txtPagar.Text = "";
            txtTotalCompra.Text = "";
            txtTotalPagado.Text = "";

            this.compra = null;
            pagar = 0;
        }
    }
}
